
'use strict'

// 一、  push()和pop()——————push()向数组末加入若干个元素。pop()删除数组最后一位
var arr =[1,2,3,5,6,null];
console.log(arr);
arr.push('woc','suanle');
console.log(arr);//添加完之后并返回添加后后数组的长度和内容

//  

arr.pop();
console.log(arr);//pop()后的数组

//连续pop()直到越过数组的边界后继续pop()也不会报错，而是会返回undefined
arr.pop();
arr.pop();
arr.pop();
arr.pop();
arr.pop();
arr.pop();
arr.pop();
arr.pop();//删除第一个

console.log(arr[0]);


//   二、 unshift() 和 shift()——————nshift()往数组头部添加若干元素。 shift()把数组的第一个元素删掉。

arr.unshift("hwc","jxc","hys");
console.log(arr);

arr.shift();arr.shift();arr.shift();arr.shift();//连续shift()
console.log(arr);//shift()完了,数组空啦

//  三、 sort()——————sort()可以对当前Array进行排序，它会直接修改当前Array的元素位置，直接调用时，按照默认顺序排序：

//小知识：
        //1、对数组的 引用。请注意，数组在原数组上进行排序，不生成副本。
        //2、排序顺序可以是字母或数字，并按升序或降序。
        //3、默认排序顺序为按字母升序
        //4、使用数字排序，你必须通过一个函数作为参数来调用。函数指定数字是按照升序还是降序排列。



var arr1=[57,88,3,6,8,40,88.9];//--单纯是数值时
var arr2=['A','H','U','K','R','O','B','W','Y','L','P','A'];//--单纯是字母时


//  四、splice()——————splice()方法是修改Array的“万能方法”，它可以从指定的索引开始删除若干元素，然后再从该位置添加若干元素：

var arr3=["shi","wo","suan","huang","wen"];
console.log(arr3);
arr3.splice(2,0,'黄文聪',17,58,99);
console.log(arr3);
arr3.splice(2,4,"算了");
console.log(arr3);
arr3.splice(2,3,"3");
console.log(arr3);

//  五、 reverse()——————reverse()把整个Array的元素给反转过来：

var arr4=[1,2,3,4,5,6,7,8,9]
console.log(arr4);
arr4.reverse();
console.log(arr4);

//六、 concat—————concat()方法把当前的Array和另一个Array连接起来，并返回一个新的Array：
var arr5=[1,2,3];
var arr6=[3,2,1,"木头人"];
var add =arr5.concat(arr6[3]);
console.log(add);
console.log(arr5);
console.log(arr6);

//总结；拼接后返回的数组的是一个新数组,原数组没有修改,并且可以直接加字符串或其他数组的某些元素


//join——————join()方法是一个非常实用的方法，它把当前Array的每个元素都用指定的字符串连接起来，然后返回连接后的字符串：
var arr7=["2457","23899595"];

console.log(arr7.join('——'));
console.log(arr7);


//总结；join()和concat()一样，拼接类方法要么将得到的值赋给变量，要么直接输出到控制台。原数组没有修改。
//而push()、pop()、unshift()、shift()、reverse()、splice()、sort()这类方法都是对原数组进行修改，
//所以不需要将结果再存到其他变量中


//七、多维数组——————如果数组的某个元素又是一个Array，则可以形成多维数组

/*
如果数组的某个元素又是一个Array，则可以形成多维数组，例如：
```
var arr = [[1, 2, 3], [400, 500, 600], '-'];
```
上述Array包含3个元素，其中头两个元素本身也是Array。

练习：如何通过索引取到500这个值：
```
'use strict';
var arr = [[1, 2, 3], [400, 500, 600], '-'];
var x = ??;

console.log(x); // x应该为500
```ij-i
*/
var arr8 = [[1, 2, 3], [400, 500, 600], '哈哈哈'];//这是一个二维数组

//如何取出想要的值呢？比如取出 哈哈哈

// 1、把二维数组转为一维数组，用concat() 
console.log(arr8[1][1]);

// 
var aaa=['碧明','小红','阿秋','大聪','文东'];
aaa.slice();
console.log(aaa);
console.log('欢迎'+aaa[0]+'，'+aaa[1]+'，'+aaa[2]+'，'+aaa[3]+'和'+aaa[4]+"同学！");





